package com.muyu.danmo.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 基本信息对象 danmo_information_basic
 * 
 * @author yangle
 * @date 2025-01-08
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DanmoInformationBasic extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 基本信息唯一id */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 简介 */
    @Excel(name = "简介")
    private String profile;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;

    /** 会费开始时间 */
    @Excel(name = "会费开始时间")
    private String sxpiryCreate;

    /** 会费到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "会费到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sxpiryDate;

    /** 会费状态 */
    @Excel(name = "会费状态")
    private String membershipTatus;

    /** 省 */
    @Excel(name = "省")
    private String province;

    /** 市 */
    @Excel(name = "市")
    private String city;

    /** 县 */
    @Excel(name = "县")
    private String county;
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("profile", getProfile())
            .append("avatar", getAvatar())
            .append("nickname", getNickname())
            .append("sxpiryCreate", getSxpiryCreate())
            .append("sxpiryDate", getSxpiryDate())
            .append("membershipTatus", getMembershipTatus())
            .append("province", getProvince())
            .append("city", getCity())
            .append("county", getCounty())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
